package cn.samler.shopapi.Service;

import cn.samler.shopapi.Model.Response.User.Info;
import cn.samler.shopapi.Model.Sys.ServiceResult;
import cn.samler.shopapi.Entity.User;
import org.springframework.transaction.annotation.Transactional;

@Transactional
public interface UserService {
    // 发送短信验证码 0: 发送成功 1: 短信验证码错误 2: 行为验证码错误
    int sendSms(String username, String ticket, String randStr, String userIp);

    //验证码登录
    ServiceResult loginForVerifyCode(String username, String vCode);

    // 密码登录
    ServiceResult loginForPassword(String username, String password);

    // 查找用户是否存在
    User findById(int id);

    // 设置密码
    boolean setPassword(User user, String password);

    // 创建jwt token payload
    String createToken(User user);

    void updateAvatar(User user, String url);

    Info getInfo(User user);
}
